Response Scheme

Response Scheme

Parameters of ApiResult

Name Type Required Description
Success boolean ✅ Information about if proccess resulted successfully or not.
Key string ✅ Type of response. Also each error has their own key. It's more like error code.
Data object / Generic<T> ❕ Contains main data of response. Data can be null with some unsuccessful requests.
Meta object ❌ Metadata about response, like pagination page counts or depricated elements etc.
Message string ❕ Message about request. Mostly unseuccessful requests have message about it.
IsUserFriendlyMessage boolean ❌ Indicates if Message comes from resources and readable by directly users or not.

The response scheme used for Audit Log is as follows.


    public class BaseResponseDto : AuditEvent
    {
        public string Id { get; set; }

        public string EventType { get; set; }

        public string UserEmail { get; set; }

        public string UserId { get; set; }

        public string UserAgent { get; set; }

        public string IP { get; set; }

        public string Context { get; set; }

        public string ActionType { get; set; }

        public string AppId { get; set; }

        public string ContextAction { get; set; }
    }

    public class LogResponseDto : BaseResponseDto
    {
        public object Target { get; set; }
    }

Object Mapping

Using auto mapper for object mapping.


    public class LogResponseMap : Profile
    {
        public LogResponseMap()
        {
            CreateMap<Log, LogResponseDto>().ReverseMap();

            CreateMap<AuditEvent, LogResponseDto>()
                .ForMember(dest => dest.Target, opt =>
                   {
                       opt.MapFrom(src => src.Target);
                   });
        }
    }